在 Termux 上利用 chroot 运行 Ubuntu

在 Termux 上利用 chroot 运行 Ubuntu
陈思源Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required.
Termux 是一个强大的 Android 终端模拟器和 Linux 环境应用,但有时你可能需要在 Android 手机上获得更完整的 Linux 发行版功能。通过 chroot,我们将得以在 Termux 中运行完整的 Ubuntu 系统。本文将详细介绍实现这一目标的步骤。
与 proot 方案的主要区别
- 需要 root 权限
- 性能更高
- 隔离性更强,后台几乎不被杀
- 可以运行更多原生 Linux 程序
- 稳定性更差
准备工作
- 确认设备已 root
- 安装 Termux 和 Termux:API(用于更好的权限管理)
- 利用 Magisk 安装 Magisk BuiltIn Busybox
- 安装必要工具:
1 | pkg update && pkg upgrade |
1. 下载 Ubuntu rootfs
1 | wget http://cdimage.ubuntu.com/ubuntu-base/jammy/daily/current/jammy-base-arm64.tar.gz |
2. 准备 chroot 环境
创建 start-chroot.sh
脚本:
1 |
|
赋予执行权限:
1 | chmod +x start-ubuntu-chroot.sh |
脚本来自Ivon的部落格,万分感谢大佬的分享。
如果提示 /dev/shm 目录不存在,需要手动用 MT管理器 创建,直接在 Termux 里 mkdir 会失败。
初始化 Ubuntu 系统
进入 chroot 环境后:
1 | apt update |
Troubleshooting
1. 网络问题
如果网络不可用,尝试:
1 | # 在 chroot 外(Termux 中) |
2. 语言环境问题
1 | apt install locales |
3. 用户管理
1 | adduser android |
4. Could not open session… 的错误
用 MT管理器 手动删除 /etc/pam.d/su-l 文件中session optional pam_keyinit.so force revoke
这一行。
重要注意事项
安全警告:chroot 不是完全安全的容器,root 用户仍可突破限制
稳定性:不当卸载可能导致文件系统损坏,务必使用卸载脚本
资源使用:chroot 环境会占用更多系统资源
兼容性:某些 Android 内核可能缺少必要的 Linux 功能
退出和清理
- 退出 chroot 环境:
exit
- 如需删除容器,删除前务必确认已经取消挂载!
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果